package com.cino.demos.sourceCode.mybatisDemo;

/**
 * MyBatis动态代理演示 - 主程序入口
 */
public class MyBatisLite {
    public static void main(String[] args) {
        // 1. 创建SQL会话（数据库操作入口）
        SqlSession sqlSession = new DefaultSqlSession();
        
        // 2. 获取Mapper代理对象（动态代理核心）
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        
        // 3. 调用接口方法 - 自动执行SQL
        User user = userMapper.selectUserById(123);
        System.out.println("查询结果: " + user);
        
        // 4. 测试Object方法（验证代理对象行为）
        System.out.println("代理对象toString: " + userMapper.toString());
        System.out.println("代理对象hashCode: " + userMapper.hashCode());
    }
}